package com.ethink.warehouse.api.enums;

import com.ethink.framework.common.constant.ColumnEnum;


/**
 * 仓库出库单 枚举 入库类型: 1-普通出库(t1)|2-调拨出库(t2)|3-B2B出库(t3)|4-其他出库(t4)|5-采购退货出库(t5)|6-虚拟出库单(t6)|7-唯品出库(t7)
 *
 * @author default
 * @date 2022-12-05
 */
public enum StockOutOrderOutStockTypeEnum implements ColumnEnum {

    /** 普通出库 */
    T1(1, "普通出库"),

    /** 调拨出库 */
    T2(2, "调拨出库"),

    /** B2B出库 */
    T3(3, "B2B出库"),

    /** 其他出库 */
    T4(4, "其他出库"),

    /** 采购退货出库 */
    T5(5, "采购退货出库"),

    /** 虚拟出库单 */
    T6(6, "虚拟出库单"),

    /** 唯品出库 */
    T7(7, "唯品出库"),

    ;

    /**
     * 枚举int值
     */
    private Integer intValue;

    /**
     * 枚举名称
     */
    private String name;

    /**
     * 构造方法
     *
     * @param intValue
     * @param name
     */
    StockOutOrderOutStockTypeEnum(Integer intValue, String name) {
        this.intValue = intValue;
        this.name = name;
    }

    /**
     * 枚举int值
     *
     * @return
     */
    @Override
    public Integer getIntValue() {
        return intValue;
    }

    /**
     * 枚举名称
     *
     * @return
     */
    @Override
    public String getName() {
        return name;
    }

    /**
     * 枚举int值获取枚举
     * @param intValue
     * @return
     */
    public static StockOutOrderOutStockTypeEnum valueOf(Integer intValue) {
        for (StockOutOrderOutStockTypeEnum value : StockOutOrderOutStockTypeEnum.values()) {
            if(value.getIntValue().equals(intValue)) {
                return value;
            }
        }
        return null;
    }
}
